class Solution {
public:
    bool is(char a) {
        if (a >= 'a' && a <= 'z'||( a>='0' && a<='9'))
            return true;
        return false;
    }
    bool isPalindrome(string s) {
        //首先 大写字符转换成小写字符 其次只要字母 然后正反读者都一样就ok了
        if(!s.size())return true;
        int fast = 0;
        int slow = s.size() - 1;
        while (fast < slow) {
            if (s[fast] >= 'A' && s[fast] <= 'Z')
                s[fast] += 32;
            if (s[slow] >= 'A' && s[slow] <= 'Z')
                s[slow] += 32;
                    //先把大写字母处理成小写字母
                    if (is(s[fast]) && is(s[slow])) {
                    if (s[fast] == s[slow]) {
                        fast++;
                        slow--;
                    } else
                        return false;
                }
            else if (!is(s[fast]))
                fast++;
            else if (!is(s[slow]))
                slow--;
        }
        if (fast >= slow)
        {
            return true;
        }
        return false;
    }
};
